To improve software productivity, programmers often reuse previous software or software knowledge to build new software. The application programming Interface (API) method is an important form of software reuse, and API reuse has been widely used in practice. For example, to construct new software systems, the programmers may resume existing software libraries or framework (e.g., .NET of MICROSOFT® and Java Development Kit of SUN®) by invoking API methods included in the software libraries. However, these API methods are often complex, and usage of these API method are not well documented. Although some techniques have been developed to identify API usage from the software libraries, these existing techniques lack metrics to measure the quality of API usage. In addition, results generated by the existing techniques are highly redundant, therefore posing significant barriers to be adopted in practice.